/**   
* @Title: PayBillService.java 
* @Package cn.kxm.service 
* @Description: TODO(用一句话描述该文件做什么) 
* @author 初雨泽
* @date 2018年9月27日 下午2:34:29   
*/
package cn.kxm.service;

import java.util.List;

import cn.kxm.pojo.Company;
import cn.kxm.pojo.PayBill;

/** 
* @ClassName: PayBillService 
* @Description: paybill的服务接口
* @author 初雨泽
* @date 2018年9月27日 下午2:34:29 
*  
*/
public interface PayBillService {
	
	/** 
	* @Title: searchPayBill 
	* @Description: paybill条件查询方法
	* @param page
	* @param rows
	* @param findcode
	* @param findstartDate
	* @param findendDate
	* @param findsupplierName
	* @return  参数说明 
	* @return List<PayBill>    返回类型 
	* @throws 
	*/
	public List<PayBill> searchPayBill(Integer page, Integer rows,
			String findcode,
			String findstartDate,
			String findendDate,
			String findsupplierName);
	
	
	/** 
	* @Title: countSearchPayBill 
	* @Description: paybill条件查询数量
	* @param findcode
	* @param findstartDate
	* @param findendDate
	* @param findsupplierName
	* @return  参数说明 
	* @return int    返回类型 
	* @throws 
	*/
	public int countSearchPayBill(
			String findcode,
			String findstartDate,
			String findendDate,
			String findsupplierName);
	
	/** 
	* @Title: deletePayBillByCode 
	* @Description: 删除PayBill数据
	* @param code  参数说明 
	* @return void    返回类型 
	* @throws 
	*/
	public void deletePayBillByCode(String code);
	
	/** 
	* @Title: searchCompany 
	* @Description: 查找供应商
	* @param code
	* @param name
	* @param type
	* @param page
	* @param rows
	* @return  参数说明 
	* @return List<Company>    返回类型 
	* @throws 
	*/
	public List<Company> searchCompany(String code, String name,
			 Integer type, Integer page, Integer rows);
	
	/** 
	* @Title: countSearchCompany 
	* @Description: 查找供应商总数
	* @param code
	* @param name
	* @param type
	* @return  参数说明 
	* @return int    返回类型 
	* @throws 
	*/
	public int countSearchCompany(String code,String name,Integer type);
	
	public PayBill findPayBill(String code);
	
	public void updatePayBillType(String code,Integer type);
	
	public void updatePayBill(String payData,
			Integer payType,
			String memo,
			String code,
			Float payTotalMoney);
	
	public void addPayBill(PayBill paybill);
	
	public void deletePayBillUnchecked(String payCode);
	
	public void deletePayBillChecked(String payCode);
	
	public List<PayBill> findAllPayBill(String findcode,
			String findstartDate,
			String findendDate,
			String findsupplierName);
	
}
